﻿using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using dao.sqlServer2005;
using System.Data.SqlClient;
using System.Collections.Generic;
using dao;
using System.Text;
using System.Net;
using System.Net.Mime;
using System.Net.Mail;
using transferObjects.tasacionAsesoria.tasacion;

namespace services.tasacionAsesoria.tasacion
{
    class CorreoService
    {
        Correo dato;


        /// <summary>
        /// Envía correo electrónico
        /// </summary>
        /// <param name="datos">datos del correo correo electrónico</param>
        /// <returns>retorna un 1 si el mensaje fue correctamente enviado</returns>
        public int enviarCorreo(Correo datos)
        {
            dato = datos;
            //se prepara un nuevo mensaje
            System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();

            //datos de destinatario(corredor)
            msg.From = new MailAddress("elksan@jinchuu.cl", "Diego Riveros", System.Text.Encoding.UTF8);

            //Se establece el asunto del mail -> constante
            msg.Subject = dato.Asunto;

            //Formato de codificación del Asunto 
            msg.SubjectEncoding = System.Text.Encoding.UTF8;

            //body en formato HTML
            msg.IsBodyHtml = false;


         
            //Se establece el destinatario 
            msg.To.Add(dato.Destinatario);

            //Se establece el cuerpo del mail -> recibo  de valdebenito listo
            msg.Body = this.dato.Mensaje;

            //Se prepara el envio del mail 
            SmtpClient client = new SmtpClient();

            //Se establecen las credenciales para enviar el mail, muy importante autentificarse con la cuenta de correo y la contraseña 
            client.Credentials = new System.Net.NetworkCredential("elksan@jinchuu.cl", "buckethead");

            //Se establece el puerto de envio 
            client.Port = 587;

            //Se establece el servidor SMTP, en este caso GMAIL 
            client.Host = "smtp.gmail.com";
            //Seguridad SSL?, si como no, prueben ettereal 
            client.EnableSsl = true;

            //Se envia el Mail 
            try
            {
                client.Send(msg);
                return 1;
            }
            catch (System.Net.Mail.SmtpException ex)
            {
                
                Console.WriteLine(ex.Message);
                Console.ReadLine();
                return 0;
            }
            
        }

        

        

    }
}

